// 封装请求
// 导入axios
import axios from 'axios'
// 导入模块获得token
import store from '@/store/index.js'
// 导入路由
import router from '@/router/index.js'
const request = axios.create({
  // 设置请求的根路径
  baseURL: 'http://www.liulongbin.top:3008'
})
// 请求拦截器
request.interceptors.request.use(res => {
  // 获取token
  const token = store.state.userModule.token
  // 有token 添加进headers里的Authorization里
  if (token) {
    res.headers.Authorization = token
  }
  return res
}, err => {
  return Promise.reject(err)
})

// 响应拦截器
request.interceptors.response.use(response => {
  return response
}, err => {
  if (err.response.status === 401) {
    // 说明token失效
    // 清空token和用户信息
    store.commit('userModule/setToken', '')
    store.commit('userModule/setUserInfo', '')
    // 跳转至登录页
    router.replace('/login')
  }

  return Promise.reject(err)
})
// 默认导出request
export default request
